//package tech.powerjob.samples.processors;
//
//import org.apache.commons.lang3.StringUtils;
//import tech.powerjob.worker.core.processor.ProcessResult;
//import tech.powerjob.worker.core.processor.TaskContext;
//import tech.powerjob.worker.core.processor.sdk.BasicProcessor;
//import tech.powerjob.worker.log.OmsLogger;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Component;
//
//import java.util.Collections;
//
///**
// * 单机处理器 示例
// *
// * @author tjq
// * @since 2020/4/17
// */
//@Slf4j
//@Component
//public class StandaloneProcessorDemo implements BasicProcessor {
//
//    @Override
//    public ProcessResult process(TaskContext context) throws Exception {
//        OmsLogger omsLogger = context.getOmsLogger();
//        omsLogger.info("StandaloneProcessorDemo start process,context is {}.", context);
//        omsLogger.info("Notice! If you want this job process failed, your jobParams need to be 'failed'");
//        omsLogger.info("Let's test the exception~");
//        // 测试异常日志
//        try {
//            Collections.emptyList().add("277");
//        } catch (Exception e) {
//            omsLogger.error("oh~it seems that we have an exception~", e);
//        }
//        log.info("================ StandaloneProcessorDemo#process ================");
//        log.info("jobParam:{}", context.getJobParams());
//        log.info("instanceParams:{}", context.getInstanceParams());
//        String param;
//        // 解析参数，非处于工作流中时，优先取实例参数（允许动态[instanceParams]覆盖静态参数[jobParams]）
//        if (context.getWorkflowContext() == null) {
//            param = StringUtils.isBlank(context.getInstanceParams()) ? context.getJobParams() : context.getInstanceParams();
//        } else {
//            param = context.getJobParams();
//        }
//        // 根据参数判断是否成功
//        boolean success = !"failed".equals(param);
//        omsLogger.info("StandaloneProcessorDemo finished process,success: {}", success);
//        omsLogger.info("anyway, we finished the job successfully~Congratulations!");
//        return new ProcessResult(success, context + ": " + success);
//    }
//}
